#ifndef EVENTPROCESSOR_HPP_
#define EVENTPROCESSOR_HPP_

#include "system/socket/AbstractConnectionProcessor.hpp"
#include "system/socket/Connection.hpp"
#include "system/thread/Thread.hpp"
#include "kit/container/ThreadSafeQueue.hpp"
#include "kit/event/Event.hpp"
#include "kit/event/EventCreator.hpp"
#include <memory>
namespace KitProcessor
{
	class EventProcessor : public SystemSocket::AbstractConnectionProcessor
	{
	public:
		EventProcessor(KitContainer::ThreadSafeQueue<KitEvent::Event *> * iQueue);
		virtual ~EventProcessor();
		virtual void process(SystemSocket::Connection * iConnection);
	protected:
		KitContainer::ThreadSafeQueue<KitEvent::Event *> * _eventQueue;
		KitEvent::EventCreator _eventCreator;
	};
}
#endif /* EVENTPROCESSOR_HPP_ */
